package com.dragon.refect.bytecode;

/**
 * 栈帧(stack frame)
 * 栈帧是一种用来帮助虚拟机执行方法调用与方法执行的数据结构
 *
 * 栈帧本身就是一种数据结构，封装了方法的局部变量表、动态链接信息、方法的返回地址及操作数栈等信息
 *
 * 符号引用与直接引用
 * 有些符号引用是在类加载阶段或是第一次使用就会被转换为直接引用，这种转换叫做静态解析；另外一些符号引用则是在
 * 每次运行期转换为直接引用，这种转换叫做动态链接，这体现为Java的多态性。
 *
 * 1. invokeinterface: 调用接口中的方法，实际上是在运行期决定的，决定到底调用实现该接口的哪个对象的特定方法
 * 2. invokestatic: 调用静态方法
 * 3. invokespecial: 调用自己的私有方法，构造方法(<init>)以及父类的方法。
 * 4. invokevirtual: 调用虚方法，运行期动态查找的过程。
 * 5. invokedynamic: 动态的调用方法。jdk1.7进入的
 *
 * 静态解析的4中情况：
 * 1.静态方法
 * 2.父类的方法
 * 3.构造方法
 * 4.私有方法
 *
 * 以上4类方法称为非虚方法，他们是在类的加载阶段就可以直接将符号引用转换为直接引用的。
 *
 *
 * @author dragon
 * @since 2019/12/9
 */
public class MyTest3 {


}
